iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Python

python零之旅系列 第 10

DAY10. Python中的檔案

  • 分享至 

  • xImage
  •  

今天我們學習的是python中的檔案機制

Python檔案機制通常用於讀取、寫入和操作檔案。而透過Python的內建函式,我們可以與各種不同格式的檔案(純文字、CSV、JSON...)進行互動。

檔案可讓開發人員讀取現有的資料、寫入新的資訊,並且能對檔案內容進行各種操作,例如尋找特定內容、更新檔案以及處理大量資料。

Python 的檔案操作支援多種模式:讀取模式('r')、寫入模式('w')、附加模式('a')和二進位模式('b'),我們可以根據需求對檔案進行操作。


以下讓我們來了解檔案的運作及應用吧!

1.檢測檔案

檢測檔案可以在檔案操作之前,確認檔案是否存在,並檢查檔案本身為檔案還是目錄。我們通常會使用OS的標準庫模組來進行檔案的檢測。

範例:
首先,我們需要設定並取得目標檔案的路徑。我們在桌面新增一項資料夾,在裡面放入一個test文字檔為目標檔案,並取得其路徑。
https://ithelp.ithome.com.tw/upload/images/20240924/20169195Bs4hiAr0TW.png

取得路徑後,我們便可以開始撰寫程式碼。

import os

#因為\是跳脫字元,我們須在字串前面加上r,或是使用兩條\\,讓其可正常顯示
str = r"C:\Users\sharo.LAPTOP-R8RUGEN1\OneDrive\桌面\workspace" #此路徑為目錄,加上\test.txt後,此路徑為檔案
print(str)

if os.path.exists(str):
    print("此路徑存在")
else:
    print("此路徑不存在")
    
 if os.path.isfile(str):
    print("此路徑為檔案")
elif os.path.isdir(str):
    print("此路徑為目錄")
else:
    print('other')   

2.讀取檔案
在執行讀取檔案前,我們需要新增一些內容在目標檔案內。
https://ithelp.ithome.com.tw/upload/images/20240924/20169195l7WXO8gFX0.png

完成之後,我們便可以開始撰寫程式碼:

 str = r"C:\Users\sharo.LAPTOP-R8RUGEN1\OneDrive\桌面\workspace\test.txt"
 try:
 with open(str) as file:
     print(file.read())
 exception FileNotFoundError:
     print("此檔案不存在")

3.寫入檔案
我們可以在python中撰寫程式碼來新增檔案及其內容到目標路徑,以下我們開始撰寫程式碼:

 str = r"C:\Users\sharo.LAPTOP-R8RUGEN1\OneDrive\桌面\workspace\TEST.txt"
 
 text = "Hello! \n Welcome!"
 
 with open(str, 'w') as file: #w為寫入文字模式
     file.write(text)
     
 with open(str, 'a') as file: #w為插入文字模式
     file.write('\n Bye Bye')

4.複製文件
當我們使用python來複製文件時,我們需要使用到python的內建模組:shutil模組,以下將介紹三種方法('coptfile', 'copy', 'copy2'),讓我們開始撰寫程式碼:

import shutil

str = r"C:\Users\sharo.LAPTOP-R8RUGEN1\OneDrive\桌面\workspace"

#copyfile
source = f"{w}/test.txt"
destination = f"{w}/test2.txt"
shutil.copyfile(source, destination)

1.copyfile 只複製文件數據,不複製檔案裡的描述內容
2.copy 只複製描述內容,不複製其他數據(目錄也可)
3.copy2 描述內容及數據資訊、權限等皆可複製

5.刪除檔案
當我們要刪除檔案時,需要用到OS模組中的remove函數。我們將會學習4種刪除檔案的方法,以下為範例程式碼:

import os
import shutil
str = r"C:\Users\sharo.LAPTOP-R8RUGEN1\OneDrive\桌面\workspace"

#刪除檔案
os.remove(f"{str}/test.txt")

#刪除空資料夾
os.rmdir(f"{str}/資料夾名稱")

#刪除資料夾及其內容
shutil.rmtree(f"{str}/資料夾名稱")

#丟到資源回收桶
import send2trash
send2trash.send2trash(fr"{str}\test.txt")

以上為今日的學習。透過這個學習過程,我不僅學會了如何有效地讀取與寫入檔案內容,還學習到如何使用 Python 進行資料的管理與處理,這對於日後在資料分析、自動化任務、或開發應用程式上都非常有幫助。
這次的學習經驗讓我對 Python 的檔案操作有了全面性的了解,並且能夠運用這項技能解決實際問題。


上一篇
DAY9. Python中的各式應用與處理
下一篇
DAY11. Python的物件導向
系列文
python零之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言